#ifndef PRICEPAGE_H
#define PRICEPAGE_H

#include <QMainWindow>
#include <QString>

namespace Ui {
class PricePage;
}

class MainContainer;

/**
 * @brief 可回收物价格查询页面类
 * 提供可回收物实时价格查询功能的界面
 */
class PricePage : public QMainWindow
{
    Q_OBJECT

public:
    /**
     * @brief 构造函数
     * @param parent 父窗口指针
     */
    explicit PricePage(QWidget *parent = nullptr);
    
    /**
     * @brief 析构函数
     */
    ~PricePage();
    
    /**
     * @brief 设置主容器指针
     * @param container 主容器指针
     */
    void setMainContainer(MainContainer *container);

private slots:
    /**
     * @brief 返回主页按钮点击槽函数
     */
    void on_pushButton_back_clicked();
    
    /**
     * @brief 查询价格按钮点击槽函数
     */
    void on_pushButton_query_clicked();
    
    /**
     * @brief 显示价格数据
     * @param priceData 价格数据字符串
     */
    void displayPriceData(const QString &priceData);
    
    /**
     * @brief 显示错误信息
     * @param errorMsg 错误信息
     */
    void displayError(const QString &errorMsg);

private:
    Ui::PricePage *ui;      // UI界面指针
    MainContainer *mainContainer;  // 主容器指针
    
    /**
     * @brief 通过豆包AI查询可回收物价格
     * @param item 可回收物名称
     * @return 查询结果
     */
    QString queryRecyclePriceByAI(const QString &item);
    
    /**
     * @brief 构建查询可回收物价格的提问
     * @param item 可回收物名称
     * @return 构建好的提问字符串
     */
    QString buildPriceQueryPrompt(const QString &item);
};

#endif // PRICEPAGE_H